for in 和 for of 的区别
for...in
循环:只能获得对象的键名,不能获得键值for...of
循环:允许遍历获得键值
for in
for…in… 返回对象 key
//返回对象key
function getObjectKeys(object) {
let keys = []
for(let property in object)
keys.push(property)
return keys
}
const obj = { foo: 'bar', baz: 42 };
console.log(getObjectKeys(obj));
for in 遍历对象会不会遍历原型链属性
- 使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问:
- 只遍历对象自身的属性,而不遍历继承于原型链上的属性,使用 hasOwnProperty 方法过滤一下。